package tech.aistar.day10;

/**
   join 方法
 *
 * @author: success
 * @date: 2022/8/1 4:33 下午
 */
public class JoinDemo {
    public static void main(String[] args) {
        Thread m = new Mom();
        m.start();
    }
}
class Mom extends Thread{
    @Override
    public void run() {
        System.out.println("妈妈在做饭~");
        System.out.println("妈妈发现酱油没有了!让熊孩子去打酱油~");
        //妈妈的线程应该要进入到阻塞状态

        //熊孩子的线程加入进来-> 打酱油
        Son son = new Son();
        son.start();
        try {
            son.join(); // mom线程会进入到阻塞状态,然后需要等待son线程全部执行完毕之后,mom线程才会继续执行.
        } catch (InterruptedException e) {
            e.printStackTrace();
        }

        //熊孩子线程运行结束,Mom线程才会继续执行~

        System.out.println("妈妈继续做饭~");

    }
}

class Son extends Thread{
    @Override
    public void run() {
        System.out.println("熊孩子屁颠屁颠去打酱油~");
        for (int i=5;i>=1;i--){
            System.out.println("son还有"+i+"min,就回来了...");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
        System.out.println("son将酱油打回来了!!!");
    }
}